package name.gauravmadan.mdg.service;

import java.util.List;

import name.gauravmadan.mdg.pim.Application;
import name.gauravmadan.mdg.pim.Association;
import name.gauravmadan.mdg.pim.Attribute;
import name.gauravmadan.mdg.pim.Component;
import name.gauravmadan.mdg.pim.Class;

public interface ModelDataService {

	public Application getApplicationById(Integer id);
	public List<Application> getApplicationList();
	public void createApplication(Application application);
	public void updateApplication(Application application);
	public void deleteApplicationById(Integer id);

	public Component getComponentById(Integer id);
	public List<Component> getComponentListByAppId(Integer id);
	public void createComponent(Component component);
	public void updateComponent(Component component);
	public void deleteComponentById(Integer id);
	
	public Class getClassById(Integer id);
	public List<Class> getClassListByCompId(Integer id);
	public void createClass(Class clazz);
	public void updateClass(Class clazz);
	public void deleteClassById(Integer id);
	
	public Attribute getAttributeById(Integer id);
	public List<Attribute> getAttributeListByClassId(Integer id);
	public void createAttribute(Attribute attribute);
	public void updateAttribute(Attribute attribute);
	public void deleteAttributeById(Integer id);
	
	public Association getAssociationById(Integer id);
	public List<Association> getAssociationListByClassId(Integer id);
	public void createAssociation(Association association);
	public void updateAssociation(Association association);
	public void deleteAssociationById(Integer id);
}
